// ============================== 导入依赖 ============================== //

// ============================== 导出表单公共 ============================== //

export default {
  // —————————————————————————————— 数据属性 —————————————————————————————— //

  xData: { type: Array, default: () => [] }, // X 轴数据
  dataList: { type: Array, default: () => [] }, // 数据列表

  // —————————————————————————————— 标题属性 —————————————————————————————— //

  title: { type: String, default: '' }, // 标题名称

  // —————————————————————————————— 图例属性 (默认右侧) —————————————————————————————— //

  topLegend: { type: Boolean, default: false }, // 是否为顶部图例
  bottomLegend: { type: Boolean, default: false }, // 是否为底部图例
  hasNum: { type: Boolean, default: false }, // 是否包含数量
  and: { type: String, default: '　' }, // 图例和数量之间的连接符
  unit: { type: String, default: '' }, // 单位 (如需数量和单位之间有空格，需自行配置 ' 个' )

  // —————————————————————————————— 颜色属性 —————————————————————————————— //

  colorList: { type: Array, default: () => [] }, // 自定义颜色列表

  // —————————————————————————————— 初始化属性 —————————————————————————————— //

  init: { type: Object, default: () => OPTION }, // 初始化配置项
}

// ============================== 导出初始配置 ============================== //

export const OPTION = {
  tooltip: {
    trigger: 'item',
  },
  title: {
    text: '0',
    subtext: '',
    top: '50%',
    left: '40%',
    padding: 0,
    textAlign: 'center',
    textVerticalAlign: 'middle',
    textStyle: {
      lineHeight: 20,
      fontSize: 20,
      fontWeight: 'bold',
      color: '#2C2F33',
    },
    subtextStyle: {
      lineHeight: 14,
      fontSize: 14,
      color: '#555',
    },
  },
  grid: {
    top: 0,
    left: 0,
    right: 0,
    bottom: 0,
    containLabel: true,
  },
  legend: {
    icon: 'circle',
    type: 'scroll',
  },
  series: [
    {
      type: 'pie',
      data: [],
      radius: ['60%', '80%'],
      center: ['40%', '50%'],
      label: {
        formatter: '{d}%',
        fontSize: 14,
        fontWeight: 'bold',
        textBorderColor: '#fff',
        textBorderWidth: 1,
      },
      labelLine: {
        length: 6,
        length2: 12,
      },
      itemStyle: {
        borderColor: '#fff',
        borderWidth: 2,
      },
    },
  ],
}
